Many large companies today have computer infrastructures that are made up of hundreds and sometimes thousands of computer systems running just as many application programs. In many situations, these myriad application programs need to share data and communicate with each other. To share data and messages among these applications programs, it is many times required to convert or translate data and messages in a first format utilized by a first application program into a second format utilized by a second application program. The data and messages in the first format may in fact need to be converted into multiple formats for use by another application program or programs, although in the following description translation from a first format to a second format will be described for ease of explanation. The term data translation will be used in the following description to refer to the translation of any type of information from one form to another form or forms, such as the translation of data, messages, programming instructions, and so on.
Programmers have typically written translation programs to perform the required translations on an as needed or “project-by-project” basis. When application programs executing a particular business process require data translation, a programmer performs a translation evaluation and then selects and implements a translation technology to meet the immediate translation requirement for that process. For example, extensible style language transformations (XSLT) may need to be done to transform extensible markup language (XML) files in one form to XML documents in another form. A programmer would select and implement a suitable XSLT translation engine in this situation.
While the traditional approach of customized translation systems meets the immediate needs for a business process requiring data translation, the approach leads to inefficient utilization of enterprise resources for a variety of reasons. One such reason is that custom translation systems typically result in duplicate customized implementations and infrastructures, with each being developed independently and requiring independent support organizations having the specialized knowledge and skills required to maintain each translation system. Another reason is that this approach may create numerous problems when migrating from existing translation tools to new technologies due to proprietary protocols and processes used by each translation system. Ideally industry standards and technologies would be utilized to eliminate the creation of customized systems and the associated legacy issues created thereby.
There is a need for a translation system and method that eliminates the need for creating individual custom translation systems and allows for enterprise wide use of the implemented translation system.